QA,或稱為品質保證(Quality Assurance),在軟體開發過程中扮演著重要的角色。QA的主要目標是確保軟體產品滿足高品質標準,並符合用戶需求。
在維基百科中,關於 QA 提到:
品質保證是一種防止製造產品出現錯誤和缺陷並避免在向客戶交付產品或服務時出現問題的方法
ISO 9000 將其定義為「品質管理的一部分,專注於提供對品質要求將得到滿足的信心」
簡單來說,做出來的東西不僅僅是需要滿足客戶的需求,並且確保軟體的品質。像是我們提供一款網路銀行的 App,如果沒有經過妥善的檢測,可能會發生無預期的問題,像是無法登入、系統當機,甚至是 SQL Injection 等等資安問題造成個資外洩,或是生命與財產的損失。
工程師不僅僅需要製作出可以跑動的程式,解決問題外,更進階的是需要了解如何控管自己的程式,以及檢測自己的程式,讓工具變的更加可靠。就好像做出炸藥後,可以炸開堅硬的石頭,但我們不會希望這夥要把自己炸傷吧!所以需要一個檢測的方式,確認這個炸藥在平常是安全的,在需要用的時候能發出強大的「爆裂魔法」。
在本次系列中,簡單的規劃幾個部分,分別是何謂是QA,QA 的基本概念,測試流程與方法,到最後專案的參與。藉由這樣的概念,做出一個簡單的 QA 入門,希望可以清楚的釐清測試在軟體開發的角色與幫助。
從 Developer 轉到 QA 也有一段時日,儘管沒有成就一番偉大的事業,但是也有參與推出幾個大的 release。從懞懂在網路上看課程學習,到有前輩提攜教學,逐漸瞭解 QA 到底要做哪些事情。
儘管學的還沒有很多,知道與實作的沒有很深,但把自己所知道的,所筆記的知識分享給大家,讓大家可以快速了解 QA 的工作。而我自己也能反芻自己所學的知識,使自己更上一層。